package vista;

import java.awt.event.ActionListener;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

import modelo.SistemaBajon;

public class FrmPrincipal extends JFrame implements ActionListener{

	
	
	


		private static final long serialVersionUID = 1L;

		private static final int HEIGHT=600;
		private static final int WIDTH=800;
		
		private SistemaBajon sistema;// = new SistemaBajon();
		
		Container frameContainer;
		
		
		
		//BARRA MENU
			private JMenuBar barraMenu;
					
			//MENU ARCHIVO
			private JMenu menuArchivo;
			private JMenuItem archivoSalir;

			
			//MENU CLIENTE
			
			private JMenu menuCliente;			
			private JMenuItem clienteAlta;			
			private JMenuItem clienteBaja;			
			private JMenuItem clienteModificacion;

			//MENU PRODUCTOS
			
			private JMenu menuProducto;
			private JMenuItem productoAlta;
			private JMenuItem productoBaja;
			private JMenuItem productoModificacion;
			
			
			/*private JMenuItem tarifasIndustrialModificar;			
			private JMenuItem tarifasMunicipalModificar;
			private JMenuItem tarifasIndustrialAlta;			
			private JMenuItem tarifasMunicipalAlta;*/
			
			//MENU PEDIDOS
			
			private JMenu menuPedido;			
			private JMenuItem pedidoTomar;			
			private JMenuItem pedidoConsultar;
			private JMenuItem pedidoCancelar;

			//MENU FACTURACION
			
			private JMenu menuCocina;
			private JMenuItem cocinaVer;

			//MENU ENTrega
			
			private JMenu menuEntrega;
			private JMenuItem entregaVer;
			
			
			
			//ICONOS
			private ImageIcon iconSalir;

			private ImageIcon iconTelefono;
			
			//private ImageIcon iconClienteModif;
			//private ImageIcon iconClienteAlta;
			//private ImageIcon iconClienteBaja;

			private ImageIcon iconCocina;

			private ImageIcon iconCancelar;

			private ImageIcon iconNotas;

			private ImageIcon iconDelivery;

			private ImageIcon iconClienteAlta;

			private ImageIcon iconClienteBaja;

			private ImageIcon iconClienteModif;

			private ImageIcon iconComidaAlta;

			private ImageIcon iconComidaBaja;
			
			
			
			


			
			public FrmPrincipal(SistemaBajon sistema) {
				super("Sistema BaJhon");		
				this.setSistema(sistema);
				this.setSize(WIDTH, HEIGHT);
				this.setLocation(200,50);
				this.setResizable(false);
				crearInterfaz();
				JLabel lblFondo = new JLabel();
				ImageIcon fondo = new ImageIcon("src/Imagenes/fondo.jpg");
				lblFondo.setIcon(fondo);
				this.add(lblFondo);
				lblFondo.setBounds(0, 0, 600, 800);
				this.setVisible(true);
				
			}
			
			private void crearInterfaz() {
				
				hacerBarraMenu();
				//crearContenido();
				
			}
			
			
			private void hacerBarraMenu() {
				
				
				/*SET DE ICONOS*/
				this.iconSalir = new ImageIcon("src/Imagenes/salir.png");
				
				this.iconTelefono = new ImageIcon("src/Imagenes/telefono.png");
				
				this.iconCocina = new ImageIcon("src/Imagenes/horno.png");
				
				this.iconCancelar = new ImageIcon("src/Imagenes/cancelar.png");
				
				this.iconNotas = new ImageIcon("src/Imagenes/notas.png");
				this.iconDelivery = new ImageIcon("src/Imagenes/delivery.png");
				
				this.iconClienteModif = new ImageIcon("src/Imagenes/clienteModif.png");
				this.iconClienteAlta = new ImageIcon("src/Imagenes/clienteAlta.png");
				this.iconClienteBaja = new ImageIcon("src/Imagenes/clienteBaja.png");
				
				this.iconComidaAlta = new ImageIcon("src/Imagenes/comidaAlta.png");
				this.iconComidaBaja = new ImageIcon("src/Imagenes/comidaBaja.png");
					
				//CREACION BARRA MENU
				this.barraMenu = new JMenuBar();
				barraMenu.setPreferredSize(new Dimension(10,35));
				
				
				//MENU ARCHIVO
				this.menuArchivo = new JMenu("Archivo");
				menuArchivo.setPreferredSize(new Dimension(90,35));
				
				this.archivoSalir = new JMenuItem("Salir",iconSalir);
				//archivoSalir.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_9, ActionEvent.ALT_MASK));
				menuArchivo.add(archivoSalir);
				
				barraMenu.add(menuArchivo);
				
			
				
				//MENU CLIENTE
				
				this.menuCliente = new JMenu("Clientes");
				menuCliente.setPreferredSize(new Dimension(90,35));
				
				this.clienteAlta = new JMenuItem("Alta Cliente",iconClienteAlta);

				menuCliente.add(clienteAlta);
				
				
				this.clienteBaja = new JMenuItem("Baja Cliente",iconClienteBaja);
				menuCliente.add(clienteBaja);

				
				this.clienteModificacion = new JMenuItem("Modificacion Cliente",iconClienteModif);

				
				menuCliente.add(clienteModificacion);
				
				this.barraMenu.add(menuCliente);
				
				//MENU TARIFAS
				
				this.menuProducto = new JMenu("Productos");
				menuProducto.setPreferredSize(new Dimension(90,35));
				
				this.productoAlta= new JMenuItem("Alta Producto",iconComidaAlta);
				this.productoBaja= new JMenuItem("Baja Producto",iconComidaBaja);
				this.productoModificacion= new JMenuItem("Modificar Producto");
				
				menuProducto.add(productoAlta);
				menuProducto.add(productoBaja);
				menuProducto.add(productoModificacion);
						
				this.barraMenu.add(menuProducto);
				
				//MENU PEDIDOS
				
				this.menuPedido = new JMenu("Pedidos");
				menuPedido.setPreferredSize(new Dimension(90,35));
				
				this.pedidoTomar = new JMenuItem("Tomar Pedido",iconTelefono);
				menuPedido.add(pedidoTomar);
				this.pedidoConsultar= new JMenuItem("Consultar Pedido",iconNotas);
				menuPedido.add(pedidoConsultar);
				this.pedidoCancelar= new JMenuItem("Cancelar Pedido",iconCancelar);
				menuPedido.add(pedidoCancelar);
				
				
				this.barraMenu.add(menuPedido);
				
				
				//MENU COCINA
				
				this.menuCocina = new JMenu("Cocina");
				menuCocina.setPreferredSize(new Dimension(90,35));
				
				this.cocinaVer = new JMenuItem("Ver Cocina",iconCocina);
				menuCocina.add(cocinaVer);
				

				
				this.barraMenu.add(menuCocina);
				
				
				//MENU ENTREGA
				
				this.menuEntrega = new JMenu("Entrega");
				menuEntrega.setPreferredSize(new Dimension(90,35));
				
				this.entregaVer = new JMenuItem("Ver Entrega",iconDelivery);
				menuEntrega.add(entregaVer);
				

				
				this.barraMenu.add(menuEntrega);
				
				
				
				//AGREGAR BARRA MENU
				this.setJMenuBar(barraMenu);
				//barraMenu.setBackground(new Color (30 ,144, 255));
				
				//HACER FUNCIONAR BARRA
				
				this.hacerFuncionarBarra();
				
				//this.hacerCerrarVentana();
				
			}
			public SistemaBajon getSistema() {
				return sistema;
			}

			public void setSistema(SistemaBajon sistema) {
				this.sistema = sistema;
			}

			private void hacerFuncionarBarra() {
				
				//AGREGAR LOS ACTIONLISTENER
				
				this.archivoSalir.addActionListener(this);
				this.clienteAlta.addActionListener(this);
				this.clienteBaja.addActionListener(this);
				this.clienteModificacion.addActionListener(this);
				this.productoAlta.addActionListener(this);
				this.productoBaja.addActionListener(this);
				this.productoModificacion.addActionListener(this);
				this.pedidoTomar.addActionListener(this);

			}

			@Override
			public void actionPerformed(ActionEvent e) {
				
				
				
				if(e.getSource()instanceof JMenuItem){
					JMenuItem item = (JMenuItem) e.getSource();
					if(item.getText().equals("Salir")){
						int salir = JOptionPane.showConfirmDialog(this, "Seguro que desea salir?"); 
						if (salir == 0){
							System.exit(0);
						}
					}
					else if(item.getText().equals("Alta Cliente")){
						FrmAltaCliente frmAltaCliente = new FrmAltaCliente(sistema);
					}
					else if(item.getText().equals("Baja Cliente")){
						//bajaUsuarioIndustrial bajaIndustrial = new bajaUsuarioIndustrial(sistema);
					}			
					else if(item.getText().equals("Modificacion Cliente")){
						//modificacionUsuarioIndustrial modificacionIndustrial = new modificacionUsuarioIndustrial(sistema);
					}
					else if(item.getText().equals("Alta Producto")){
						FrmAltaProducto frmAltaProducto = new FrmAltaProducto(sistema);
					}
					else if(item.getText().equals("Baja Producto")){
						//registrarMedicionesResidencial medicionesResidencial = new registrarMedicionesResidencial(sistema);	
					}
					else if(item.getText().equals("Modificacion Producto")){
						//generarFacturaIndustrial facturaIndustrial = new generarFacturaIndustrial(sistema);
					}
					else if(item.getText().equals("Tomar Pedido")){
						FrmTomarPedido frmTomarPedido = new FrmTomarPedido(sistema);	
					}
					else if(item.getText().equals("Modificar Tarifas Industriales")){
						//modificarTarifaIndustrial tarifaIndustrial = new modificarTarifaIndustrial(sistema);	
					}
					else if(item.getText().equals("Modificar Tarifas Municipales")){
						//modificarTarifaMunicipal tarifaMunicipal = new modificarTarifaMunicipal(sistema);	
					}
					else if(item.getText().equals("Alta Tarifas Industriales")){
						//altaTarifaIndustrial altaTarifaIndustrial = new altaTarifaIndustrial(sistema);	
					}
					else if(item.getText().equals("Alta Tarifas Municipales")){
						//altaTarifaMunicipal altaTarifaMunicipal = new altaTarifaMunicipal(sistema);	
					}
				}
			}
			
}


